const Promise = require('./2.promise')
let p = new Promise(function(resolve, reject) {
  // reject()
  setTimeout(function(){
    resolve('hello')
  }, 1000)
})
p.then( value => {
  console.log('val', value)
}, reason => {
  // 如果执行执行器时发生异常，那就走到then失败的函数中
  console.log('reason', reason)
})

// then执行后应该返回一个新的promise
// 因为promise的状态 一旦失败就不能再成功了
Promise.reject().then(null, (reason) => {
  return 100
}).then(data => {
  console.log('data', data)
}, err =>{
  console.log('err', err)
})